/**
 * @author LKQ
 * @date 2021/12/3 9:30
 * @description
 */
public class Solution {
    public static void main(String[] args) {
        Solution solution = new Solution();
        System.out.println(solution.lengthOfLastWord("aa"));
    }

    public int lengthOfLastWord(String s) {
        // 利用两个指针，从字符串末尾开始倒着寻找最小的字符，end取值为-1是为了计算一个单词的长度
        int n = s.length(), start = 0, end = -1;
        boolean isFirst = true, isEnd = false;
        for (int i = n-1; i >= 0; i--) {
            char temp = s.charAt(i);
            if (temp != ' ' && isFirst) {
                start = i;
                isFirst = false;
            }else if (temp == ' ' && start!=0){
                end = i;
                isEnd = true;
            }
            if (!isFirst && isEnd) {
                // 提前找到了，直接退出循环
                break;
            }
        }
        return start-end;

    }

    public int lengthOfLastWord2(String s) {
        // 直接利用正则表达式分割字符串，但是对整个字符串进行分割，运行时间会变长。
        String[] x = s.split(" ");
        return x[x.length-1].length();
    }


}
